    ///////////////////////////////全局通用的一些函数,及其它一些不适合封装的一些函数/////////////////////////////////////////////
	/*
	function loading(show){
	       $(show).ajaxStart(function(){
	                      //$("input#submit").attr("disabled","false");//ajax触发的时候，提交按钮关闭。
	                      $(show).attr("src","tempimage/loading.gif");
	              })
	              .ajaxComplete(function(){
	                      show="null";
	                      //$("input#submit").attr("disabled",false);//取消提交按钮关闭状态
	              });
	}
	*/

    var LOADING='<div  align="center"><img align="absmiddle" src=../images/common/loading1.gif'+'></div>';
    var LOADINGS='<div  align="center"><img align="absmiddle" src=../images/common/loading2.gif'+'></div>';
    var LOADINGL='<div  align="center"><img align="absmiddle" src=../images/common/loading3.gif'+'></div>';
    var LOADINGR='<div  align="center"><img align="absmiddle" src=../images/common/loading.gif'+'></div>';
    var LOADING_COMMON="<div id='loading'><img src='../images/common/loading.gif' />Loading...</div> ";
    var CK_DIALOG_ID="ck_dialog_id";//caakee 弹出框id+0,1,2...)

    var WINDOW_G={width:'700',height:'500'};//超大号
    var WINDOW_L={width:'620',height:'400'};//大号
    var WINDOW_M={width:'550',height:'330'};//中号
    var WINDOW_S={width:'350',height:'150'};//小号


	//空链接
	function fGoto(){
	    //alert('goto');
	    //return false;
	}

	/*按扭，鼠标移进*/
	function MO(e){
		var evt = schEvent();
		var S= schTarget(evt);
        S.className = "UP";
    }

	/*按扭，鼠标移出*/
	function MU(e){
		var evt = schEvent();
		var S= schTarget(evt);
        S.className = "NORMAL";
	}

    //操作失败
	function reportError(){
	   CM.alert('该操作未能正常完成,可能是系统原因.请刷新页面后再试.或者联系管理员.');
	}

	//提交表单查询
	function submitSearch(formId,action,boxId,callBack){
	    //alert(action);
	    //$('#'+boxId).append(LOADING);
		var options = { //ajaxform表单提交设置
			target: '#'+boxId, //结果显示目标//
			url:action, //action目标
			type: 'POST',
			success:callBack
		};
		$('#'+formId).ajaxSubmit(options);
		return false;
	} //end submitPage

	function submitSearchChart(formId,url,callback,options) {
		   if(options && options.data){
			   if(callback){
			    	callback(options);
			    }
			   return false;
		   }
	   	   var opt={url:url,
		           type:"post",
		           dataType:"text",
		           //error:reportError,
		           success:function(data){
	   		   		  options.data=data;
		   		      if(callback){
		   		    	  callback(options);
		   		      }

			      }
		    };
	   	 $('#'+formId+':last').ajaxSubmit(opt);
			 return false;
	}

	//提交表单保存
	function submitSave(formId,action,callBack){
	    if (!validForm(formId)) return;

		var options = { //ajaxform表单提交设置
			url:action, //action目标
			type: 'POST',
			dataType:"json",
			//error:reportError,
			success:function(data){
				if(data.returnCode!=0){
					if (data.returnMsg!=''){
                  	 	CM.alert(data.returnMsg);
                  	}
				}else　if (callBack){
					callBack(data);
				}
			}
		};

		$('#'+formId+':last').ajaxSubmit(options);
		return false;
	} //end submitForm

    //删除一条数据
    function deleteRow(urlPath,callback){
    	CM.confirm('删除以后,数据将不可恢复,您确定要删除吗？',function(){
		//Boxy.confirm("您确定要删除吗?", function() { alert('Confirmed!'); return;}, {title: '提示'});

        //Boxy.confirm("<img src='images/common/warn.gif'/> 删除以后,数据将不可恢复,您确定要删除吗?", function() {
		    $.ajax({url:urlPath,
		           type:"get",
		           dataType:"json",
//		           error:reportError,
		           success:function(data){
		              //if (data==1&&data.msg!=''){
		                  //alert(data.code);

		                  /*if (data.code!='0') {
		                     if (data.msg!=''){
		                  	 	CM.alert(data.msg);
		                  	 }
		                  }*/

		                  if (callback){
		                      callback(data);
		                  }

		                  //pg.refresh();
			      }
		    });
        //}, {title: '提示'});
    	});

    }


    //删除一条数据
    function deleteRow1(urlPath,tips,callback){
       CM.confirm(tips,function(){
    	   $.ajax({url:urlPath,
	           type:"get",
	           dataType:"json",
	           //error:reportError,
	           success:function(data){
	              //if (data==1&&data.msg!=''){
	                  /*alert(data.code);
	                  if (data.code!='0') {
	                     if (data.msg!=''){
	                  	 	CM.alert(data.msg);
	                  	 }
	                  }*/

	                  if (data.returnCode=='0' &&callback){
	                      callback(data);
	                  }

	                  //pg.refresh();
		      }
       })
       });
		//Boxy.confirm("您确定要删除吗?", function() { alert('Confirmed!'); return;}, {title: '提示'});

        //Boxy.confirm("<img src='images/warn.gif'/> 删除以后,数据将不可恢复,您确定要删除吗?", function() {

        //}, {title: '提示'});

    }


	//发起请求
	function submitReq(urlPath,callback){
	    $.ajax({url:urlPath,
	           type:"get",
	           dataType:"json",
	           //error:reportError,
	           success:function(data){
	              //if (data==1&&data.msg!=''){

	                  if (data.code=='-1') {
	                     if (data.msg!=''){
	                  	 	alert(data.msg);
	                  	 }
	                  }

	                  if (callback){
	                      callback(data);
	                  }
	                  //pg.refresh();
		      }
	    });

		return false;
	} //end submitForm

	//用返回的结果，自动更新select
    function updateSelect(urlPath,selectId){
	    $.ajax({url:urlPath,
	           type:"get",
	           //data:'userName='+
	           dataType:"json",
	          // error:reportError,
	           success:function(data){
			            var result = data.data.cts;
			            //alert(data);
				          //先清空dListChild的所有下拉项
				         var nextOb= document.getElementById(selectId);
				         nextOb.length = 0;
				         //nextOb.options.add(new Option("全部","0"));//给dListChild加个全部型号的,注意是Option不是option
				         if(result!=""){
					         var allArray = result.split(";");//把收到的字符串按照;分割成数组
					         for(var i=0;i<allArray.length;i++){
					             var thisArray = allArray[i].split(",");//在把这个字符串按照,分割成数组
					                //为dListChild添加条目
					             nextOb.options.add(new Option(thisArray[1].toString(),thisArray[0].toString()));
				             }
				         }
	           }
	    });
	}


    function submitExport(formId,url){
    	var con='确定要导出数据吗？请注意关掉迅雷等下载软件。如果导出失败，请按住shift键后再导出。';
    	CM.confirm(con,function(){
    		  var form=document.getElementById(formId);
    		  form.action=url;
    		  form.target="_blank";
    		  form.submit();
			  return false;
		  });
    }


	//////////////////////导航栏/////////////////////////////////////
	Nav = function(){}
    Nav.active=function(me,n){
       var curTab=$(me).parent();
       var tabs = curTab.parent();
       tabs.children().each(function(){
          $(this).removeClass('active');
       })
       curTab.addClass('active');
       //显示子菜单
       var subNavs = $('#subnav_wrapper');
       subNavs.children().each(function(){
           $(this).hide();
       })
       subNavs.children('#subnav'+n).show();
    }


    //通用功能
    CM = function(){};
    CM.WINS ={}; //窗口集


    CM.afterSubmit0 =function(){}
    CM.afterSubmit = function(){}
    CM.afterSubmit1 = function(){}
    CM.afterSubmit2 = function(){}


    CM.hide =function(id){
    	$("#"+id).hide();
    }


    CM.show =function(id){
    	$("#"+id).show();
    }

	//打开对话框
	CM.open = function (url,options,callback){
	    if (callback){
	       options.afterShow=callback;
	    }
	    options.left='center';
	    options.top='center';
	    //if(!options.id){options.id=CK_DIALOG_ID+"0";}
	    if(!options.id){options.id=rndId();} //每个窗口，有一个不同的id
	    if(!options.size){ //没有设置大小就设置成最大号
	    	options.size=WINDOW_L;
	    }
	    if(!options.cover){
	    	options.cover=false;
	    }
	    CkBox(url,options);
	}

	function CkBox(url,options){

	     $.ajax({url:url,
	           type:"get",
	           success:function(data){
		       var lhg=new $.dialog({
		    	    id:options.id,
			    	html:data,
			    	width:options.size.width,
			    	height:options.size.height,
			    	left:options.left,
			    	top:options.top,
			    	maxBtn:true,
			    	//btns:false, //button位置隐藏
			    	btnBar:false,//3.5.1
			    	iconTitle:false,//3.5.1
			    	//fixed:true,
			    	cover:options.cover,
			    	title:options.title

			    });

		    	lhg.ShowDialog();
		    	CM.WINS['lhgdlg_'+options.id]=lhg;//把当前窗口的句柄存下来。
		    	if(options.afterShow){
		    		options.afterShow();
		    	}
	           }
	    });

	}
	CM.openForm = function (formId,url,options,callback){
	    if (callback){
	       options.afterShow=callback;
	    }
	    options.left='center';
	    options.top='center';
	    if(!options.id){options.id=rndId();} //每个窗口，有一个不同的id
	    if(!options.size){ //没有设置大小就设置成最大号
	    	options.size=WINDOW_L;
	    }
	    if(!options.cover){
	    	options.cover=false;
	    }
	    var option={url:url,
	           type:"post",
	           dateType:"json",
	           success:function(data){
		       var lhg=new $.dialog({
		    	    id:options.id,
			    	html:data,
			    	width:options.size.width,
			    	height:options.size.height,
			    	left:options.left,
			    	top:options.top,
			    	maxBtn:true,
			    	btnBar:false,//3.5.1
			    	iconTitle:false,//3.5.1
			    	cover:options.cover,
			    	title:options.title
			    });
		    	lhg.ShowDialog();
		    	CM.WINS['lhgdlg_'+options.id]=lhg;//把当前窗口的句柄存下来。
		    	if(options.afterShow){
		    		options.afterShow();
		    	}
	           }
	    }
	    $('form[id='+formId+']:last').ajaxSubmit(option);
	    return false;
	}

	//打开对话框（采用相对定位）
	CM.rOpen = function (me,url,options,callback){
		if (callback){
		       options.afterShow=callback;
		    }
	    if(!options.size){ //没有设置大小就设置成中号
	    	options.size=WINDOW_M;
	    }
	    options.id=CK_DIALOG_ID+"1";
	    var left=$($(me).parent()).offset().left+20;
	    //var top =$(me).offset().top+$(me).height();
	    var top ="center";
	    options.left=left;
	    options.top=top;
	    CkBox(url,options);
	}

	//关闭对话框
	CM.close = function (me){

	   if(!me){CM.alert("CM.close:传递参数错误!");}
	   var ob=$(me).parents('div[class^="lhgdialog_"]:first');
	   var winid=ob.attr('id');
	   var win = CM.WINS[winid];
	   if (ob&&win){
		   win.cancel();
		   //CM.WINS[winid]=null; //关闭后，把元素移除。
	   }else{
		   alert('未找到需要关闭的窗口id');
		   return ;
	   }
	}

	//提示框
	CM.alert = function(content,callback){
		var dlg = new $.dialog({
			html:"<p id='alert'><img src='../images/common/sign1.gif'/>"+content+"</p>",
	    	width:WINDOW_S.width,
	    	height:WINDOW_S.height,
	    	resize:false,
	    	maxBtn:false,//3.5.1
	    	iconTitle:false,//3.5.1
	    	title:'提示'
	    });
	    dlg.ShowDialog();
	    dlg.SetCancelBtn('确认',function(){
	    	dlg.cancel();
	    	if(callback)callback();
	    });
	}
	//错误提示框. 尚有问题。
	CM.alertError = function(content){
		var dlg = new $.dialog({
			html:content,
	    	width:600,
	    	height:350,
	    	opacity:0.5,
	    	autoSize:false,
	    	maxBtn:false,//3.5.1
	    	cover:true,
	    	iconTitle:false,//3.5.1
	    	title:'异常提示'
	    });
	    dlg.ShowDialog();
	    $('.barblue').click(function(){
	    	dlg.maxSize();
	    });
	    dlg.addBtn('copy','复制',function(){
	    	copyToClipboard($('#pre #error_info').html());//复制错误信息
	    });
	}

	/**
	 * click 'yes',then execute the callback function.
	 *
	 */
	CM.confirm = function(content,yes,cancel){
		var h = 0;
		h=content.length/60*10; //让其自适应高度
		var dlg = new $.dialog({
			html:"<p id='alert'><img src='../images/common/sign2.gif' align='absmiddle'/>"+content+"</p>",//
	    	width:WINDOW_S.width,
	    	height:ForDight(WINDOW_S.height*1.0+h,0),
	    	resize:false,
	    	maxBtn:false,//3.5.1
	    	iconTitle:false,//3.5.1
	    	title:'确认提示'
	    });
	    dlg.ShowDialog();
	    dlg.addBtn('yes','确认',function(){
	    	yes();
	    	dlg.cancel();
	    });
	    dlg.SetCancelBtn('取消',function(){
	    	dlg.cancel();
	    	if(cancel)cancel();
	    });

	}


	//全局的初始化
	CM.init = function(){

	    //数据加载提示条
	    $("#sys_loading").ajaxStart(function(){
		    $(this).show();
		})
		.ajaxStop(function(){
		    $(this).hide();
		})
	    ;

	    //请求成功时的弹出提示框
	    $("#sys_popmsg").ajaxSuccess(function(event, XMLHttpRequest, ajaxOptions){
	        //alert(/^{.*}$/.test(XMLHttpRequest.responseText));
	        //此处有bug。 应该直接判断返回结果是否是json，而不是通过dataType来判断。有可能dataType会省略。
	         if (ajaxOptions.dataType=='json'&&XMLHttpRequest!=null){
	            var rs = eval('('+XMLHttpRequest.responseText+')');
	            //如果returnCode=0，表示操作正常完成
	            if (rs.returnCode=='0'&&rs.returnMsg!=null&&rs.returnMsg!=''){
	                $(this).html('').append(rs.returnMsg).fadeIn("fast");
	                $(this).delay(2000).fadeOut("fast");
	            }else if (rs.returnCode=='1'&&rs.returnMsg!=null){ //如果等于1，代表操作失败。则给出操作失败的原因。如：因为有关系数据不能正常删除等。
	                //$(this).html('').append(rs.returnMsg).fadeIn("fast"); //暂时跟成功的提示框一样。以后改成弹出窗口。
	                //$(this).fadeOut("slow");
	            	CM.alert(rs.returnMsg);
	            }
	         }
		})
	    ;

	    //请示失败提示框，如系统异常等不受程序控制的错误。
	    $("#sys_popmsg").ajaxError(function(event, XMLHttpRequest, ajaxOptions){
	         var msg = XMLHttpRequest.responseText;
	         if (msg==null||msg==''){
	             msg='<div id=\'error_msg\'>操作未能完成，原因可能有：<br/>1.网速太慢了，请求超时;2.网络中断了;3.服务器出现了异常。<br/>您可以刷新一下页面试试。如果仍然有问题请联系客服。</div>';
	         }
	         CM.alertError(msg);
		});
		$("#barimg").toggle(
			function(){
			   $('#barimg').find('img').attr('src','images/default/bar_right.gif');
			   $('#mleft').toggle();
			},
			function(){
				$('#barimg').find('img').attr('src','images/default/bar_left.gif');
			   $('#mleft').toggle();
			}
		)

	}


	//弹出快捷菜单
	CM.quickMenu = function(me){
	    //alert(me.id);
	    //alert($(me).$());
	    var menu = $(me).find('div.quick_menu');
	    var left=$(me).offset().left;
	    var right=$(me).right;
	    var top =$(me).offset().top+$(me).height();
	    var width=menu.width();
	    var height=menu.height();
	    //menu.offset(left,top);
	    //alert(left+'  '+top+'  '+width+'  '+height);
	    menu.css({'right':right,'top':top});
	    menu.show();
	    //menu.click(function(e){menu.hide();});
	    //应该把鼠标移开文字以后,未隐藏菜单.是个bug. 或者可以把事件加在body上面.
	    $(me).bind("mouseleave",function(){
	       menu.hide();
	    })

	}


	//菜单下拉
	CM.pullDown = function(me){
		var div=$(me).find("#quick_menu");//下拉菜单的div
		/*var height=div.height();
		 * if(height>400){
			div.css('height','400').css('overflow-y','auto');
		}*/
		if($.browser.msie&($.browser.version == "6.0")){
			if(!div){
				alert("真不幸啊");
				return;
			}
		}
		if($(div).css('display')=='none'){
			$(me).addClass('active');

		//	$(div).css('left',$(me).offset().left);
			$(div).css('display','block');
			$(div).find('dt').hover(function(){ //鼠标经过变背景
				$(this).css('background-color','#D7DDDD');
			},function(){
				$(this).css('background-color','');
			});

			if($.browser.msie&($.browser.version == "6.0")){
				var iframe=$(me).find("iframe");
				$(iframe).css('display','block');
				$(iframe).css('height',$(div).height()+10);
			}
		}else{
			$(me).removeClass('active');
			$(div).css('display','none');
			if($.browser.msie&($.browser.version == "6.0")){
				var iframe=$(me).find("iframe");
				$(iframe).css('display','none');
			}
		}

	}

	//菜单下拉
	CM.initPullDown = function(classname){

		var me = $(classname);
		$(me).hover(function(){
			CM.pullDown($(this));
		},function(){
			CM.pullDown($(this));
		});


	}

	CM.pullQuitMenu = function(me){
		var div=$(me).find("#quick_menu");//下拉菜单的div
		if($(div).css('display')=='none'){
			$(div).css('display','block');

		}else{
			$(div).css('display','none');
		}
	}


	CM.clearValue =function(me){
		var ob=$(me).parent().find('input');
		ob.each(function(){
			$(this).val('');

		})

	}

	//显示复杂查询条件
	 CM.toggleCond=function(me){
		    var parent=$(me).parent();
		   //var next=parent.next('#detail');
		   //parent.toggle(100);
		   var b = $('table.complex_condition');

		   if (b.is(":visible")==true){
		      b.slideUp();
		      parent.removeClass('up');
		      parent.addClass('down');
		   }else{
		      b.slideDown();
		      parent.removeClass('down');
		      parent.addClass('up');
		   }
	 }

	 CM.removeTableRow = function(me){
		 var size =$(me).parents('table:first').find("input[name='rowNum'][value!='']").size(); //行的数量
		 if(size==1){//如果只剩下一行,就不能删除！
			 CM.alert("只剩一行，不能删除！");
			 return false;
		 }
		 $(me).parents('tr:first').remove();
	 }

	 CM.addTableRow =function(me){
		 	//1 找到最后一个可见的tr,查处其中rowNum的值，将其加1
			//如果找不到设为0
			//2 找到table中最后一个不可见(模板)tr,复制之,将其中所有input和select的name的值+第一步获取到的值
			var table=$(me).parents('table:first');
			var lastVisibleTr=table.find("tr:visible:not(':last'):last");
			var rowNum=0;
			if(lastVisibleTr){
				rowNum=Number(lastVisibleTr.find("input[name='rowNum']").val())+1;
			}
			var lastTr=table.find('tr:hidden:last');
			var trClone=lastTr.clone();

			trClone.css('display','');

			var labels=trClone.find('label:hidden');
			labels.each(function(){
				var self=$(this);
				self.attr('for',self.attr('for')+rowNum);
			});

			trClone.find('input,select').each(function(){
				var self=$(this);
				var notnull_val=self.attr('notnull');
				if(notnull_val=='false'){
					self.attr('notnull','true');
				}
				if(self.attr('name')!='rowNum'){
					self.attr('name',self.attr('name')+rowNum);
					self.attr('id',self.attr('id')+rowNum);
				}else{
					self.val(rowNum);
				}
			});
			lastTr.before(trClone);
	 }

	/* CM.addTallyRow =function(me){
		 	//1 找到最后一个可见的tr,查处其中rowNum的值，将其加1
			//如果找不到设为0
			//2 找到table中最后一个不可见(模板)tr,复制之,将其中所有input和select的name的值+第一步获取到的值
			var table=$(me).parents('table:first');
			var lastVisibleTr=table.find("tr #more_entry");
			CM.alert(lastVisibleTr.find("input[name='rowNum']").val());
			var rowNum=0;
			if(lastVisibleTr){
				rowNum=Number(lastVisibleTr.find("input[name='rowNum']").val())+1;

			}
			var lastTr=table.find('tr:hidden:last');
			var trClone=lastTr.clone();

			trClone.css('display','');

			var labels=trClone.find('label:hidden');
			labels.each(function(){
				var self=$(this);
				self.attr('for',self.attr('for')+rowNum);
			});

			trClone.find('input,select').each(function(){
				var self=$(this);
				var notnull_val=self.attr('notnull');
				if(notnull_val=='false'){
					self.attr('notnull','true');
				}
				if(self.attr('name')!='rowNum'){
					self.attr('name',self.attr('name')+rowNum);
					self.attr('id',self.attr('id')+rowNum);
				}else{
					self.val(rowNum);
				}
			});
			lastTr.before(trClone);
	 }*/

	 var showALL=true;
	 //显示明细
	 CM.showDetail=function(me,isAll){
		   if(isAll){//展开所有
			   var table=$(me).parents("table:first");
			   if(showALL){
				   table.find("tr[id=detail]").show();
				   $(me).find("img").attr("src","images/icons/sanjiao_up.gif");
				   showALL=false;
			   }else{
				   table.find("tr[id=detail]").hide();
				   $(me).find("img").attr("src","images/icons/sanjiao.gif");
				   showALL=true;
			   }

		   }else{//只是展开一条
			   var parent=$(me).parents("tr:first");
			   var next=parent.next('#detail');
			   if(next.css('display')=='none'){
				   $(me).find('img').attr('src','images/common/reduce.gif');
				   next.show();
			   }else{
				   $(me).find('img').attr('src','images/common/add.gif');
				   next.hide();
			   }
		   }
	   }




	///////////////////////message//////////////////////////////////
	function Message(){}
    Message.pg = new Page('listtb');//列表页面
    //查询
    Message.search = function(){
//	    var zone = 'dataView';
//	    var form='schForm';
//	    var action='global/message.php?method=receivedListQry';
//        url = action;
//        if (Message.pg.params) {url +=Message.pg.params;}
//        $('#dataView').load(url+rnd(),'',function(){
//            Message.pg.init();
//        });
    }
     Message.pg.query = Message.search;


    //回复
    Message.saveReply = function(me,oid){
//
//       if ($('#remark').val()==''){
//	      alert('回复不能为空!');
//	      $('#content').focus();
//	      return;
//	   }
//
//       submitSave('addForm','global/message.php?method=reply&oid='+oid+rnd(),function(data){
//            if (data.code=='0'){
//	    		 CM.close(me);
//	    		$('#msg').html('回复发送成功.');
//    		}else{
//				alert(data.msg);
//    		}
//
//       });
    }

    //查看消息
    Message.view = function(oid){
//        CM.open('global/message.php?method=view&oid='+oid+rnd(),{title:'阅读消息'},function(){
//
//        });

        //alert(oid);
	       //submitReq('message/message.php?method=view&oid='+oid+rnd(),function(data){
	            //if (data.code=='0'){
	                //alert(data.msg);
	                //$('#tr'+oid).css('display','block');
					//$('#td'+oid).html('asdfa');
	    		//}else{
	    		    //alert(data.msg);
	    		    //$('#msg').html(data.msg);
	    		//}
	       //});
    }

    //删除
    Message.onDelete = function(oid){
//       deleteRow('global/message.php?method=delete&oid='+oid+rnd(),function(){
//    		Message.search();
//       });
    }


    Message.list = function(){
//        $('#main').load('global/message.php?method=receivedList'+rnd(),'',function(){
//           Message.search();
//        });
    }

	//查询广播
	Message.getBroadcast = function(){
//		    $.ajax({url:'global/message.php?method=getBroadcast'+rnd(),
//	           type:"get",
//	           dataType:"json",
//	           error:function(){},
//	           success:function(data){
//			       if (data.code=='0'){
//			          if (data.msg!=''){
//				          //$('#broadcast').html(data.msg);
//				          //window.setInterval("Message.wink()",1000); //闪烁显示最新系统通知.1秒钟闪一次.
//
//
//
//
//				          return;
//			          }
//			       }
//		      }
//	    });
	}
	//闪烁显示最新系统通知.1秒钟闪一次.
	Message.wink = function (){
	   $('#broadcast').toggle();
	}

	 ////////////////////////////TagPicker/////////////////////////////////////
	   TagPicker=function(){}
	   TagPicker.pg = new Page('tagPickerList');//列表页面
	   TagPicker.afterPick;//= function(args){};//拾取数据以后的回调函数.
	   TagPicker.opener;
	   //查询

	   TagPicker.search = function(more){
	       url = '/tally/global/pick.php?method=tagQry&more='+more;
	       if (TagPicker.pg.params) {url +=TagPicker.pg.params;}
	       submitSearch('tagPickerSchForm',url+rnd(),'tagPickerDataView',function(){
	    	   TagPicker.pg.query =TagPicker.search;
	    	   TagPicker.pg.init();
	    	   });
	   }

	   //弹出
	   TagPicker.open = function(ob,more){
		    TagPicker.opener=ob;
	        var url ='/tally/global/pick.php?method=tag&more='+more+rnd();
	        var tit ="选取标签";
	        if(more=='1'){
	         tit ="选取多个标签";
	         /*//$("embed[name='caakee']").css("Z-index","-999");
	         //$("embed[name='caakee']").css("display","none");
	         $("#dailyExpense").css("background-color","red");
	         $("embed[name='caakee']").attr("wmode","Window");*/
	        }

	        CM.open(url,{title:tit},function(){

	        	TagPicker.search(more);

	        });

	   };

	   //拾取数据以后
	   TagPicker.pick = function(args){
		   if (TagPicker.afterPick) {
			   TagPicker.afterPick(args);
	       }else{
	           //默认的选择函数:从父窗口中,寻找tagId和tagName,并进行赋值
	           $(TagPicker.opener).parents('form:last').find('#tagId').val(args.tagId);
	           $(TagPicker.opener).parents('form:last').find('#tagName').val(args.tagName);
	       }
	   };


	TagPicker.pickMore = function (me, args) {
		var vl = $('#select_tag').html();
		var vl_ids = $('#select_tag_ids').val();
		var pos = vl.indexOf(args.tagName + ',');
		if (vl.search(',' + args.tagName + ',') < 0 && pos != 0) {
			$(me).css("color", "#F27B04");
			$(me).addClass('selected');
			$('#select_tag').html(vl + args.tagName + ',');
			$("#select_tag_ids").val(vl_ids + args.tagId + ',');
		} else {
			var prev = vl.substring(0, vl.indexOf(args.tagName + ','));
			var afv = vl.substring(vl.indexOf(args.tagName + ',') + (args.tagName + ',').length, vl.length);
			$('#select_tag').html(prev + afv);
			// TODO
			$("#select_tag_ids").val(vl_ids + args.tagId + ',');
			$(me).css("color", "");
			$(me).removeClass('selected');
		}
	}





	   TagPicker.finished = function(me){
		   $(TagPicker.opener).parent().find('input[name^=tag]').val($('#select_tag').html());
		   $(TagPicker.opener).parent().find('#tagId').val($('#select_tag_ids').val());
	       CM.close(me);
	   }


	   ////////////////////////////TallyTagPicker/////////////////////////////////////
	   TallyTagPicker=function(){}
	   TallyTagPicker.pg = new Page('tagPickerList');//列表页面
	   TallyTagPicker.afterPick;//= function(args){};//拾取数据以后的回调函数.
	   TallyTagPicker.opener;
	   //查询

	   TallyTagPicker.search = function(more){
	       url = '/tally/global/pick.php?method=tallyTagQry&more='+more;
	       if (TallyTagPicker.pg.params) {url +=TallyTagPicker.pg.params;}
	       submitSearch('tagPickerSchForm',url+rnd(),'tagPickerDataView',function(){
	    	   TallyTagPicker.pg.query =TallyTagPicker.search;
	    	   TallyTagPicker.pg.init();
	    	   });
	   }

	   //弹出
	   TallyTagPicker.open = function(ob,more){
		   TallyTagPicker.opener=ob;
	        var url ='/tally/global/pick.php?method=tallyTag&more='+more+rnd();
	        var tit ="选取标签";
	        if(more=='1'){
	         tit ="选取多个标签";
	         /*//$("embed[name='caakee']").css("Z-index","-999");
	         //$("embed[name='caakee']").css("display","none");
	         $("#dailyExpense").css("background-color","red");
	         $("embed[name='caakee']").attr("wmode","Window");*/
	        }

	        CM.open(url,{title:tit},function(){

	        	TallyTagPicker.search(more);

	        });

	   };

	   //拾取数据以后
	   TallyTagPicker.pick = function(args){
		   if (TallyTagPicker.afterPick) {
			   TallyTagPicker.afterPick(args);
	       }else{
	           //默认的选择函数:从父窗口中,寻找tagId和tagName,并进行赋值
	           $(TallyTagPicker.opener).parents('form:last').find('#tagId').val(args.tagId);
	           $(TallyTagPicker.opener).parents('form:last').find('#tagName').val(args.tagName);
	       }
	   };


	   TallyTagPicker.pickMore = function(me,args){
	           var vl = $('#select_tag').html();
	           var oldIds = $('#select_tagIds').val();
	           var pos = vl.indexOf(args.tagName+',');
	           if(vl.search(','+args.tagName+',')<0 && pos!=0){
	        	   $(me).css("color","#F27B04");
	        	   $(me).addClass('selected');
	        	   $('#select_tag').html(vl+args.tagName+',');
	        	   $('#select_tagIds').val(oldIds+args.tagId+',');
	           }else{
	        	   var prev = vl.substring(0,vl.indexOf(args.tagName+','));
	        	   var afv = vl.substring(vl.indexOf(args.tagName+',')+(args.tagName+',').length,vl.length);
	        	   $('#select_tag').html(prev+afv);
	        	   var prev = oldIds.substring(0,oldIds.indexOf(args.tagId+','));
	        	   var afv = oldIds.substring(oldIds.indexOf(args.tagId+',')+(args.tagId+',').length,oldIds.length);
	        	   $('#select_tagIds').val(prev+afv);
	        	   $(me).css("color","");
	        	   $(me).removeClass('selected');
	           }
	   }

	   TallyTagPicker.finished = function(me){
	       $(TallyTagPicker.opener).parent().find('input[name^=tag]').val($('#select_tag').html());
	       $(TallyTagPicker.opener).parent().find('input[name^=tagIds]').val($('#select_tagIds').val());
	       CM.close(me);
	   }

	   /////////////////////////////CategoryPicker///////////////////////////////////
	   CategoryPicker = function(){}
	   CategoryPicker.pg = new Page('categoryPickerList');         //列表页面
	   CategoryPicker.afterPick;              //拾取数据以后的回调函数
	   CategoryPicker.opener;//打开窗口的元素


	   //弹出
	   CategoryPicker.open = function(ob,subjectCate){
		   CategoryPicker.opener=ob;
		   var oids = $(ob).parent().find('[name^=categoryId]').val()
	        var url ='/tally/global/pick.php?method=category&oids='+oids;
	        if(subjectCate){
	        	url+="&subjectCate="+subjectCate;
	        }
	        CM.rOpen(ob,url+rnd(),{title:'选取收支类别'},function(){
	        	//CategoryPicker.search();
	        	});
	   };



		//选择
		CategoryPicker.pickFlowType = function(flowType){
			$("#categoryPickerList").find('input[flowType="'+flowType+'"]').each(function(){
				$(this).attr("checked", "checked");
			});
		}

	   //选择
	   CategoryPicker.pick = function(me){
		  if(CategoryPicker.afterPick){
			  CategoryPicker.afterPick();
			  return;
		  }
		  var cid="";
		  var cname="";
		  $("#categoryPickerList").find('input[name^=categoryId]').each(function(){
			  if($(this).attr('checked')==true){
				  if(cid){
					  cid+=','+$(this).val();
					  cname+=','+$(this).parents('tr:first').find('input[name^=categoryName]').val();
				  }else{
					  cid=$(this).val();
					  cname=$(this).parents('tr:first').find('input[name^=categoryName]').val();
				  }
			  }
		  });
		  $(CategoryPicker.opener).parent().parent().find('[name^=categoryId]').val(cid);
		  $(CategoryPicker.opener).parent().parent().find('[name^=categoryName]').val(cname);

	   }


	   ////////////////////////////PayeePicker/////////////////////////////////////
	   PayeePicker=function(){}
	   PayeePicker.pg = new Page('payeePickerList');//列表页面
	   PayeePicker.afterPick;//= function(args){};//拾取数据以后的回调函数.
	   PayeePicker.opener; //打开窗口的元素
	   //查询
	   PayeePicker.pg.query =
	   PayeePicker.search = function(){
	       var url = '/tally/global/pick.php?method=payeeQry';
	       if (PayeePicker.pg.params) {url +=PayeePicker.pg.params;}
	       submitSearch('payeePickerSchForm',url+rnd(),'payeePickerDataView',function(){
	    	   //PayeePicker.pg.query = PayeePicker.search;
	    	   PayeePicker.pg.init();
	    	   });
	   }


	   //弹出
	   PayeePicker.open = function(ob,groupId){
	        PayeePicker.opener=ob;
	        var url ='/tally/global/pick.php?method=payee';
	        if(groupId){
	        	url=url+"&groupId="+groupId;
	        }
	        CM.open(url+rnd(),{title:'选取人员',modal:true},function(){
	        	PayeePicker.search();
	        	});
	   };
	   //拾取数据以后
	   PayeePicker.pick = function(args){
	       if (PayeePicker.afterPick) {
	           PayeePicker.afterPick(args);
	       }else{
	           //默认的选择函数:从父窗口中,寻找PayeeId和PayeeName,并进行赋值
	           $(PayeePicker.opener).parent().find('[name^=payeeId],[id^=payeeId]').val(args.payeeId);
	           $(PayeePicker.opener).parent().find('[name^=payeeName],[id^=payeeName]').val(args.payeeName);
	       }
	   };


	 //计算器
		 Calc=function(){};
		 Calc.opener;//打开窗口的元素
		 Calc.open=function(me){

			 Calc.opener=me;
			 /*var options;
			 options.left=$($(me).parent()).offset().left;
			 options.id=CK_DIALOG_ID+"06",
			 options.top='center';*/
			 CM.rOpen(me,"global/calc.php?"+rnd(),{title:'计算器',size:{width:'208',height:'250'}},function(){
				 var v= $(me).parents("td:first").find('input').val();
				 if(!v){
					 $('#ReadOut').attr("value","0");
				 }else{
					 $('#ReadOut').attr("value",$('#amount').val());
				 }
			 });
		 }
		 Calc.picker=function(v){
			 $(Calc.opener).parents("td:first").find('input').val(v);
		 }

   /****下拉***/
   function pullDown(me){
   	var className = $(me).find("#menu_li").attr("class");
   	if(className=="active"){
   		$(me).find("#menu_li").attr("class","");
   	}else{
   		$(me).find("#menu_li").attr("class","active");
   	}
   }
   function CMA(chkName){
  	    if(chkName==null || chkName==''){
		    chkName='oid';
	    }
  		var ob = $('input[name='+chkName+']');
  		ob.each(function(){
  			this.checked=$('#allbox').get(0).checked;
  			//$(this).attr('check',function(){return $('#allbox').attr('check')});
  		    }
  		);
  	}

   /*********************tab 切换************************/
   Tab = function(){}
   Tab.activeLi = function(me){
	   $(me).parents('ul:first').find('li').each(function(){
		   $(this).removeClass('active');
	   });
	   $(me).parents('li:first').addClass('active');
   }
   Tab.active = function(){
	   $('div.tab_wrapper2 ul:first').find('li').each(function(){
		   $(this).removeClass('active');
	   });
	   $('div.tab_wrapper2 ul li:first').addClass('active');
   }
   Tab.showContent = function(me){
	   var idVal = $(me).parents('li:first').attr('id');
	   if(idVal=='tab0'){
		   $('div.tab_wrapper4 div.content0').show();
		   $('div.tab_wrapper4 div.content1').hide();
	   }else{
		   $('div.tab_wrapper4 div.content0').hide();
		   $('div.tab_wrapper4 div.content1').show();
	   }
   }
   Tab.activeTd = function(me){
	   $(me).parents('table:first').find('td').each(function(){
		   $(this).removeClass('active');
	   });
	   $(me).parents('td:first').addClass('active');
   }


   /*****************board*********************/
   Board = function(){}
   Board.activeCategory=function(me,mark){

  	 var checkval=$(me).attr('checked');
  	 var subjectId = $('#subjectId').val();
  	 var opId = $(me).val();

  	 if(mark=='1' && checkval==true){
  			 var checkedId = subjectId+opId+",";
  	  	  	 $('#category_board').find('input[name='+opId+']').each(function(){
  	  	  		 var sonCheckVal = $(this).attr('checked');
  	  	  		 if(sonCheckVal==false){
  	  	  			 $(this).attr('checked', checkval);
  	  	  	  		 var checkedItem = $(this).val();
  	  	  	  		 checkedId = checkedId+checkedItem+",";
  	  	  		 }
  	  	  	 });
  	  	  	 $('#subjectId').val(checkedId);

  	 }else{
  	  	 if(checkval==true){
  	  		 $('#subjectId').val(subjectId+opId+",");
  	  	 }else{
  	  		 var prev = subjectId.substring(0,subjectId.indexOf(opId+','));
  	    	 var afv = subjectId.substring(subjectId.indexOf(opId+',')+(opId+',').length,subjectId.length);
  	  		 $('#subjectId').val(prev+afv);
  	  	 }
  	 }
  	 //CM.alert($('#subjectId').val());
   }

   Board.showCategory = function(me,id){
  	 var li = $(me).parents('li:first');
  	 var status=$(li).next('li[id='+id+']:first').css('display');
  	 if(status=='none'){
  		 $(li).find("img").attr('src','images/common/jian.gif');
  	 }else{
  		 $(li).find("img").attr('src','images/common/jia.gif');
  	 }
  	 $(li).nextAll('li[id='+id+']').each(function(){
  		 $(this).toggle();
  	 });
   }

   /**
    * 几个board间的切换
    */
   Board.removeActive = function(){
   	$("[id$=board],[class='box']").each(function(){
   	   $(this).find('ul li').removeClass('active');
   	});
   }
   Board.toggle = function(me){
	   var s = $('#board').css('display');
	   if(s=='none'){
		   $('#board').show();
		   $(me).find('span').html('左<br/>菜<br/>单<br/>栏<br/>&laquo;');
		   if($.browser.msie&($.browser.version == "6.0")){
				var iframe=$('div.left_board').next("iframe:first");
				$(iframe).css('display','block');
				$(iframe).css('width',$('div.left_board').css('width'));
				$(iframe).css('left',0);
				$(iframe).css('height',$('#board').height()+10);
			}
	   }else{
		   $('#board').hide();
		   $(me).find('span').html('左<br/>菜<br/>单<br/>栏<br/>&raquo;');
		   if($.browser.msie&($.browser.version == "6.0")){
				var iframe=$('div.left_board').next("iframe:first");
				$(iframe).css('display','none');
			}
	   }
   }
   Board.toggleDiv = function(me){
	   var displayVal = $(me).parent().find('div.quick_href').css('display');
	   if(displayVal=='none'){
		   $(me).parent().find('div.quick_href').show('slow');
		   $(me).removeClass('quick_bottom_menu_up');
		   $(me).addClass('quick_bottom_menu_down');
	   }else{
		   $(me).parent().find('div.quick_href').hide('slow');
		   $(me).removeClass('quick_bottom_menu_down');
		   $(me).addClass('quick_bottom_menu_up');
	   }
   }

/////////////////////帮助中心/////////////////////
	 Help = function(){}
	 Help.show = function(code,aid){//oid:模块id;aid:区域id
//		 $.ajax({url:'global/helpInfo.php?code='+code+rnd(),
//	           type:"get",
//	           dataType:"text",
//	           success:function(data){
//			 	if(!data)data=code;//test
//			 	if(data){
//			 		if(!aid|| aid==0){
//				    	$('span.tip_content').html(data);
//				    }else{ //弹出框中显示帮组
//				    	$('div[class^=lhgdialog_]:last').find('span.tip_content').html(data);
//				    }
//			 	}
//		      }
//	    });
	 }
	 Help.showValidate = function(validate_type){//validate_type:区分不同的验证方式
		 if(validate_type=='0'){
			 	$('#validate').show();
				$('span.validate_content').html("<html><body>为了您账号的安全和有效性，请您尽快补全您的信息，<a onclick='Validate.goTenantEdit();' href='javascript:fGoto();'>补全信息</a>。</body></html>");
			}else if(validate_type=='1'){
			 	$('#validate').show();
				$('span.validate_content').html("<html><body>为了您账号的安全和有效性，请到“用户中心-基本资料“验证您的信息，<a href='logout!reLogin.php?returnUrl=/my/info.php'>去验证信息</a>。</body></html>");
			}else if(validate_type=='2'){
				$('#validate').hide();
			}
	 }
	 //打开关闭帮助助手页面
	 Help.goClose=function(){
		 //CM.open('global/closeHelp.jsp',{title:'帮助设置',id:CK_DIALOG_ID+'04',size:{width:'400',height:'200'}});
		 CM.confirm("确认要关闭帮助吗？<label for='closeForever'><input type='checkbox' name='closeForever' id='closeForever'>下次不再显示</label><br/>" +
		 		"您以后还可以到“设置”--“偏好设置”模块中重新打开。"
			,function(){
				var f = $('input[name=closeForever]:checkbox').attr('checked');
				f=f?'1':'0';
				submitReq(ctx+'/setting/config.php?method=closeHelp&closeForever='+f);
				$('div.tip_wrapper').hide();
			}
		 );

	 }



	 /*********************************自动记账******************************/
	   function AutoTask(){}
	    //选择月类型
	   AutoTask.secMonth = function (){
		   if (getRdoVal('monthType')=='1'){
		    	  $('input[name=monthNum]:checkbox').each(function(i){
		    	        this.disabled= false;
				  }); // end of each
		    }else{
		    	  $('input[name=monthNum]:checkbox').each(function(i){
		    	        this.disabled= true;
				  }); // end of each
		    }

		}
		//选择天类型
	   AutoTask.secDay = function (){
		    var t =getRdoVal('dayType') ;
		    if (t==0){
		       $('#dayNum')[0].disabled=false;
		    }else{
		       $('#dayNum')[0].disabled=true;
		    }

		    if (t==3){
		    	  $('input[name=weekNum]:checkbox').each(function(i){
		    	        this.disabled= false;
				  }); // end of each
		    }else{
		    	  $('input[name=weekNum]:checkbox').each(function(i){
		    	        this.disabled= true;
				  }); // end of each
		    }
		}

	   AutoTask.tab=function(){
			if(!$('#task').attr("checked")){
				$('#task_often').hide();
			}else{
				$('#task_often').show();
			}

		}

	   AutoTask.validate=function(){
		   var task=$("#task").attr('checked');
		   if(task==true){
			   if($("input[name='monthType'][checked]:radio").val()=='1'){ //月份
				   if(!$("input[name='monthNum'][checked]:checkbox").val()){
					   CM.alert('设置自动记账月份有误！');
					   return ;
				   }
			   }
			   //天份
			   var dayType=$("input[name='dayType'][checked]:radio").val();
			   if(dayType=='0'){
				   var dayNum=$("#dayNum").val();
				   if(dayNum>31||dayNum<1){
					   CM.alert('设置自动记账天数必须在1~31之间');
					   return ;
				   }
			   }
			   if(dayType=='3'){
				   if(!$("input[name='weekNum'][checked]:checkbox").val()){
					   CM.alert('设置自动记账星期有误！');
					   return ;
				}
			   }
		   }
		}

/*****************************Init**************************************/

	   function Init(){}
	 	//紧急公告
	   Init.showBulletin=function(callback){
			CM.open("global/init.php?method=bulletin"+rnd(),{title:'紧急公告',size:{width:500,height:300},afterHide:callback});
	   }

		//账本初始化
	   Init.goInit = function(){
	        CM.open('global/init.php?'+rnd(),{title:'账本初始化',size:WINDOW_M},function(){
	        	Help.show(4023,1)
	        });
	   }
	   //账本初始化
	   Init.doInit=function(){
	 	    if (!validForm('initForm')) return;
	 	    document.initForm.action='global/init.php?method=doInit';
	 	    document.initForm.submit();
	   }
	   //超链接传ID打开账本
	   Init.openBook=function(bookId){

			CM.confirm('确认要切换账本吗？<br/>账本切换以后，账会记到最新的账本中，跟原来的账本没有任何关系了。',function(){
				if(window.event)window.event.returnValue = false; //IE6失效解决之
				window.location.href=ctx+'/tally/index.php?bookId='+bookId;
			},'');
		}

		//判断是否读过
		Init.visted=function(me,oid){
			var checked=me.checked;
			if(checked){
				submitReq("global/init.php?method=bulletinHit&oid="+oid+"&visted=1"+rnd(),function(){});
			}else{
				submitReq("global/init.php?method=bulletinHit&oid="+oid+"&visted=0"+rnd(),function(){});
			}
		}

/***********************日历**************************/
		YearCalendar = function(){}
		YearCalendar.year=function(me,val,callback){
			var span = $(me).parents('div.year_calendar:first').find('span.year');
			var year = parseInt(span.html())+val;
			var cal=$(me).parents('div.calendar');
			cal.find('input[name=year]').val(year);
			span.html(year);
			var month = cal.find('input[name=month]').val();

			if(callback){
				callback(year,month);
			}
		}
		YearCalendar.month = function(me,callback){
			$(me).parents('#month_calendar').find('a').each(function(){
				   $(this).removeClass('active');
			 });
			$(me).addClass('active');
			var cal=$(me).parents('div.calendar');
			var month = $(me).text();

			cal.find('input[name=month]').val(month);
			var year = cal.find('input[name=year]').val();
		//	alert(month+year);
			if(callback){
				callback(year,month);
			}
		}


/*********************************Validate************************************/
	   Validate = function(){}
	   Validate.goTenantEdit = function(){
		   CM.open('setting/tenantEdit!goEditTenant.php?'+rnd(),{title:'补全信息',size:WINDOW_L},function(){

	       });
	   }
	   //修改
	   Validate.doEdit = function(oid,me){
		   submitSave('tenantEditForm','setting/tenantEdit!doEditTenant.php?'+rnd(),function(data){
			   if(data.returnCode=='1'){
				   return false;
			   }
			   CM.close(me);
			   window.location.reload();
		   });
	   }

	   //加载验证信息
	   Validate.loadValidateInfo = function(){
//		   submitReq('global/validate.php?'+rnd(),function(data){
//	    	   //CM.alert(data);
//	    	   Help.showValidate(data);
//	       });
	   }


	   /**************************************社区微博 club*******************************************************/

	  Club = function(){}


      Club.goAddWeibo =  function (parms){ //flag 区分微博来源

//    	  if(parms!=''&&parms!=null&&parms!='undefined'){
////    		  CM.open('api/club!goAddWeibo.php?content='+encodeURIComponent(parms)+rnd() ,{title:"发表微博",size:WINDOW_M},function(){
////    			  Help.show(4055,1);
////			   });
//    	    }else{
////	    	 CM.open('api/club!goAddWeibo.php?content='+''+rnd() ,{title:"发表微博",size:WINDOW_M},function(){
////	    		 Help.show(4055,1);
////		      });
//    	    }
		   }
	  Club.saveWeibo =  function (me){
//		   if($('#content').val()==null||$.trim($('#content').val())==''){
//			   CM.alert("微博内容不能为空！");
//			   return;
//		   }
//		   var flag = $('#goWeibo_check').val();
//
//		   submitSave('weiboAddForm','api/club!addWeibo.php?'+rnd(),function(data){
//			   CM.close(me);
//			   if(flag=='1'){
//				   location.href='api/club!load.php?';
//			   }
//		   });
	   }

	   Club.gotoClueWeibo = function (){
		 var flag =  $('#goWeibo_check').attr("checked");
		 if(flag){
			 $('#goWeibo_check').val('1');

		 }else{
			 $('#goWeibo_check').val('0');

		 }

	   }

	   Club.weiboLenCheck = function (){

		  var content =  $('#content').val();
		  if (content.length>=140){
	       $('#weiboAlert').show();
	      }else{
	    	  $('#weiboAlert').hide();
	      }
	   }


	   Club.getUserMessage = function(){

	   }


